System, computer program product and method for selecting an application service provider

ABSTRACT

A system, computer program product, and method for managing ASP documents includes requesting a transfer of an ASP document at an ASP user device connected to a remote document manager and a remote ASP via a network such as the Internet, establishing a predetermined time for effecting a transfer of the ASP document, and transferring the ASP document at a predetermined time via the network. According to one embodiment of the first aspect, the step of requesting a transfer may include sending a deferred transfer request to the remote document manager via the network when the ASP user device logs on to the remote document manager. In this regard, the user requests a transfer by inputting a deferred transfer option from a menu received from the remote document manager via the network. The step of establishing a predetermined time for effecting a transfer of the ASP document may include inputting the predetermined time, and sending the predetermined time to the remote document manager via the network or requesting the remote document manager to establish the predetermined time without sending a predetermined time to the remote document manager.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of application Ser. No. 09/839,221,filed Apr. 23, 2001. The entire content of the parent application isincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed to methods, computer-based systems andcomputer program products for exchanging documents, and in particulardocuments retrieved from, or stored to, application service providers.

2. Discussion of the Background

An application service provider (ASP) is an entity, typically a company,that offers users remote access to software applications and relatedservices that would otherwise have to be located on the user=s localcomputer. For example, ASPs can provide searchable databases of legal,medical, financial, educational, scientific, or marketing documents toindividuals and/or companies via the Internet. Alternatively, somecompanies may provide in-house type ASPs whereby shared softwareapplications and services are located on a company computer accessibleby the employees via a company network. Thus, as used herein, the term“ASP” has a broad meaning that includes a provider that allows a user touse an application not loaded on the user's local computer.

Today, there are a great number of ASPs providing various kinds ofdocuments and services to a user. For example, one ASP may provide legaldocuments while another provides marketing, educational, scientific,financial, or medical documents. An example of a conventional network ofASPs connected to a user is shown in FIG. 1. As seen in FIG. 1, documentASPs 10, 20, 30, and 40 are connected to user 72 via the Internet 50.User 72 includes a personal computer (PC) 80, a printer 90, a localstorage device 100 and a medium drive 110, and may be part of a homecomputer system, for example. In this example, user 72 72 independentlyconnects to one of the ASPs 10-40 which provides the documents andservices needed by the user 72. For example, the user 72 may connect toASP 30 via the Internet 50 and download documents for viewing on thescreen of the PC 80, printing with printer 90, or storing in the localstorage device 100 and/or medium drive 110. Where different services arerequired, the user 72 may have to access a different ASP.

In the conventional system of FIG. 1, the user 72 must search theInternet 50 for the ASP pertaining to the subject matter and servicesneeded by the user 72. While users of ASPs may be knowledgeableprofessionals such as attorneys and doctors, they may have limitedexperience and knowledge in searching for and selecting the ASP to meettheir needs. Moreover, once the user selects an ASP, the ASP may not becompatible with the user 72. For example the interface environment, suchas a graphical user interface, may be unfamiliar or unrecognizable tothe user, and documents provided by the ASP may be in a formatunrecognizable to the user 72. In this regard, user 72 may haveparticular difficulty in using multiple ASPs such as the ASPs 1040.Even, where the user 72 is compatible with many ASPs, accessing andsearching the ASPs individually is time consuming and costly due todifferent procedures and features associated with each ASP 1040.

One common use of ASPs is for storing and retrieving documents. Forexample, user 72 may want to store business documents as electronicfiles in an ASP to save physical and electronic storage space local tothe user 72. These business documents can be retrieved by the user 72 byaccessing the storage ASP at any time. Moreover, user 72 can obtainlarge documents such as reference documents and books from a documentretrieval ASP as needed. These storage and retrieval ASP services createa further problem in that voluminous documents must be transmittedbetween the user 72 and the ASP 10-40 via the user's network connectionwhich has a limited data transfer capacity. This may lead to thecommunication line between the user 72 and the ASP 10-40 being busyduring extended transmission period times.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a system, method andcomputer program product for allowing voluminous documents to betransferred between a user and an ASP with minimal disruption to theuser.

Another object of the present invention is to provide a system, method,and computer program product for allowing users to store voluminousdocuments to an ASP.

These and other objects of the present invention are achieved byproviding a novel method, system and computer program product formanaging ASP documents.

According to one aspect of the present invention, a system, computerprogram product, and method for managing ASP documents are provided. Themethod on which the system and computer program product are basedincludes requesting a transfer of an ASP document at an ASP user deviceconnected to a remote document manager and a remote ASP via a networksuch as the Internet, establishing a predetermined time for effecting atransfer of the ASP document, and transferring the ASP document at apredetermined time via the network. According to one embodiment of thefirst aspect, the step of requesting a transfer may include sending adeferred transfer request to the remote document manager via the networkwhen the ASP user device logs on to the remote document manager. In thisregard, the user requests a transfer by inputting a deferred transferoption from a menu received from the remote document manager via thenetwork. The step of establishing a predetermined time for effecting atransfer of the ASP document may include inputting the predeterminedtime, and sending the predetermined time to the remote document managervia the network or requesting the remote document manager to establishthe predetermined time without sending a predetermined time to theremote document manager.

In another aspect of the present invention, the method on which thesystem and computer program product are based may further includedetermining whether the ASP document is a storage document for storingin the remote ASP or a retrieval document for retrieving from the remoteASP. This determination may include determining that the ASP document isa storage document or determining that the ASP document is a retrievaldocument based on an operator input to the ASP user device. Where it isdetermined that the ASP document is a storage document, the methodfurther includes inputting the storage document into the ASP userdevice, and transferring the ASP document via the network at thepredetermined time. The ASP document may be input into the ASP userdevice by optically scanning a paper copy of the ASP document to providea digital signal representative of the paper copy of the ASP document,and storing the digital signal in a memory associated with the ASP userdevice. Alternatively, the ASP document may be input by downloading anelectronic copy of the ASP document from an external source to a memoryassociated with the ASP user device. In addition, a storage operationreport may be received from the remote document manager at the ASP userdevice, and at which time the ASP document may be erased from a memoryof the ASP user.

Where the ASP document is a retrieval document, the method includesgenerating a document retrieval request in the ASP user device, sendingthe document retrieval request to the remote document manager via thenetwork, and receiving the retrieval document at the predetermined time.The retrieval document can be received from either the ASP or the remotedocument manager. The method may also include generating a documentretrieval result report, and sending the document retrieval resultreport to the remote document manager and/or the remote ASP via thenetwork.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a conventional ASP/user network;

FIG. 2 is a block diagram showing an overall system configuration formanaging documents according to an embodiment of the present invention;

FIG. 3 is a block diagram illustrating a document manager in more detailaccording to one embodiment of the present invention;

FIG. 4 is a flowchart illustrating the functionality of a documentmanagement system according to one embodiment of the present invention;

FIGS. 5A, 5B, and 5C depict data structures used for implementing asystem for managing documents and selecting ASPs according to oneembodiment of the present invention;

FIG. 6 is a flowchart showing the role of the user and ASP in theprocess of selecting an appropriate ASP according to one embodiment ofthe present invention;

FIGS. 7A and 7B illustrate document mall screens displayed on the usercomputer according to one embodiment of the present invention;

FIG. 8 describes an ASP alliance feature of the document manageraccording to one embodiment of the present invention;

FIG. 9 is a flowchart showing a timing coordination function of thedocument manager according to one embodiment of the present invention;

FIG. 10 is a flowchart showing a process for providing bulk transfer ofdocuments between the user and document manager at a predetermined timeaccording to one embodiment of the present invention.

FIGS. 11A, 11B, 11C, and 11D illustrate a multifunction documentprocessing center used in accordance with an embodiment of the presentinvention;

FIG. 12 is a flowchart showing the process for implementing a bulktransfer in the multifunction document processing center in accordancewith an embodiment of the present invention;

FIG. 13 is a flowchart showing the process for implementing a bulktransfer in the document manager in accordance with an embodiment of thepresent invention;

FIG. 14 is a flowchart showing the process for implementing a bulktransfer in the selected ASP in accordance with an embodiment of thepresent invention; and

FIG. 15 is a schematic illustration of a computer system programmed toperform one or more special purpose functions of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, wherein like reference numerals designateidentical or corresponding parts throughout the several views, FIG. 2 isa block diagram showing an overall system configuration for managingdocuments according to an embodiment of the present invention. Thesystem includes a network 50 a plurality of ASPs 10, 20, 20, 40, adocument manager 60, a network 55, a plurality of users 70, 72, 74 and76. The users 70-76 are interconnected by the network 55, and the ASPs10-40 are similarly interconnected by network 50. Network 55 isconnected to network 50 by way of the document manager 60, althoughthese networks may be connected directly to each other, and may be partsof a single network such as the Internet. Thus, the users 70-76 and ASPs10-40 are remote with respect to the document manager 60. Each user70-76 may be a personal computer system such as the one shown as user 70in FIG. 1, or may be implemented as the general purpose computer systemshown in FIG. 15. Alliteratively, users 70-76 may be a facsimilemachine, digital copier, scanner, hand held device, or any known devicefor processing and communicating data via a network. In addition oralternatively, users 70-76 may be implemented as a multifunctiondocument processing center such as the one shown in FIGS. 11A-11D, or adocument storage device such as the Ricoh eCabinet™. ASPs 10-40 arecomputer systems for remotely providing any of a variety of services viaa communications network. The ASPs 10-40 may also be implemented as ageneral purpose computer such as the computer system 1500 of FIG. 15.

The networks 50 and 55 are preferably the Internet, but can also be alocal area network, a wide area network, any type of network such as anintranet, an extranet, or a combination thereof. An extranet may be usedto provide controlled access to external users, for example through theInternet. How the users 70 and the document manager 60 can be connectedto the Internet 50 and 55 is well-known in the art and is explained forexample, in part 38 of “How Computers Work”, by Ron White, QueCorporation, pps. 340-349, September, 1999, ISBN: 0-7897-2112-0, theentire content of this book being incorporated by reference. Othercommunications links for networks 50 and 55, such as a virtual privatenetwork, or a wireless link, may be used as well. Thus, FIG. 2 shows asystem for accessing multiple ASPs through a document manager thatprovides a common interface to users of the ASPs.

FIG. 3 is a block diagram illustrating the document manager 60 in moredetail according to an embodiment of the present invention. As seen inthis figure, the document manager 60 connects an exemplary user 70 toASPs 10-40 by way of networks 50 and 55. The user 70 may be implementedas any device for processing and communicating data via a networkincluding computer system 1500 of FIG. 15. The document manager 60includes search engine 62, storage device 64, user interaction device65, format standardizing device 66, consulting device 67, and chargeengine 68, as well as a work flow engine 69 shown on phantom. The workflow engine is an optional element used for issuing instructions to anestablishing alliances among multiple ASPs as will be discussed withrespect to FIG. 8.

In the embodiment shown in FIG. 3, user 70 interacts (exchanges data)with the document manager 60 via the user interaction device 65, so asto benefit from a number of services provided by the document manager60. Based on data inputted from the user 70 and received by the userinteraction device 65, the document manager 60 can provide consultingservices via the consulting device 67 to the user 70 regarding documentmanagement in general. For example, consulting device 67 can beconfigured to provide advice to user 70 on topics such as documentsearch strategies, document retrieval costs, document storageorganization, updating documents, protection of secured documents,delivery options of documents, etc. In a preferred embodiment,consulting device 67 automatically provides advice to user 70 based ondata inputted by user 70 via user interaction device 65. For example,the consulting device 67 may be programmed to ask a series of questionsto the user 70, and to provide the user with a search strategy orstorage strategy based on the user's answers. The questions asked by theconsulting device 67 can be predetermined generic questions presented toany user, or personalized questions generated by the consulting device67 based on previously acquired data from the user 70.

The user interaction device 65 also provides registration and otherinterface functions for the user 70. In one embodiment, the user 70 mayaccess document manager 60 by signing on, for example using a user-nameand a password, which can be verified by user interaction device 65. Ifthe user is not a registered user, the user interaction device 65 canrequest information such as a name, e-mail address, postal address, atelephone number and/or billing information from the user so as togenerate a membership or registration information. The user interactiondevice 65 may also receive the input data from the user 70 regarding thetype of documents the user is requesting. For example, the user mayinput a requested document format, such as e-mail addresses, postaladdresses, telephone numbers, or information about the type of documentmanagement needed by the user 70. The user interaction device 65 canrequest more information from the user and/or provide the user 70 withdocument managing advice, strategies, and information, for example, byway of the consulting device 67. In one embodiment, the user interactiondevice 65 also provides the user with the ASP addresses identifyingwhere requested documents are available, or transmits the requesteddocuments to the user 70, along with a unified bill as will be describedbelow.

The document manager 60 also includes a search engine 62 configured tosearch and access ASPs based on data input from the user 70, the searchengine 62 is also configured to retrieve documents. Thus, in theembodiment of FIG. 3, the user 70 need only input information related tothe document or service required without regard to the ASP from whichthe desired document is to be retrieved. The search engine 62 may alsobe configured to search the individual ASPs for documents when the ASPsdo not have a search engine available. Search engines are well-known inthe art and are explained for example, in part 32 of “How The InternetWorks”, by Preston Gralla, Que Corporation, pps. 185-189, August 1999,ISBN: 0-7897-2132-5, the entire content of this book being incorporatedby reference.

The document manager 60 also includes a storage device 64 for storingthe documents requested by the user 70 in their original formats and/orin a standardized format. The storage device 64 may also include theURLs of the ASPs from which a document was retrieved, and/or the billinginformation from each ASP from which the search engine 62 retrieveddocuments. The storage device 64 may store user information, such asuser-names, user passwords, e-mail addresses, postal addresses,telephone numbers, current and prior type of documents requested,current and prior document management strategies for specific users,current and prior user-requested searches, and/or searching parameters.In one embodiment, the storage device 64 is accessible by the user, forexample via the user interaction device 65.

The storage device 64 can include, but is not limited to, any type ofdisk including floppy disks, optical disks, CD-ROM, magneto-opticaldisks, ROMs, RAMs, EPROMs, EEPROMs, Flash Memory, Magnetic or OpticalCards, or any type of media suitable for storing electronic instructionsand/or data. Moreover, the storage device 64 may include a database,i.e., a digital repository, that may be implemented, for example,through a commercially available relational database management system(RDBMS) based on the structured query language (SQL) such as ORACLE,SYBASE, INFORMIX, or MICROSOFT ACCESS, through an object-orienteddatabase management system (ODBMS), or through custom databasemanagement software.

The document manager 60 also includes a format standardizing device 66configured to standardize the formats of the documents retrieved fromvarious ASPs. For example, the format standardizing device 66 canre-format the documents so that they may be accessed using a single GUI.Such re-formatting devices are well-known in the art, and one exemplaryformat may be the PDF Acrobat formal, by Adobe. In one embodiment, theformat standardizing device 66 receives the standard format from theuser interaction device 65 and stores the standardized documents in thestorage device 64. The documents to be formatted by the formatstandardizing device 66 can be received from the ASPs via network 50,from the user 70 via the network 55, from the storage device 64, or fromthe user interaction device 65.

The document manager 60 may also include a charge engine 68 configuredto charge the user 70 with a unified bill. For example, the unified billcan correspond to the sum of the bills received from the ASPs. The billsfrom the ASPs can be received from the ASPs or the user interactiondevice 65, and can be forwarded to the user interaction device 65, or tothe storage device 64 for storing, or to the user 70 via network 55.

The document manager 60 described above can provide consulting advice tothe user, generate document managing strategies for the user based onthe user's specific needs, retrieve and organize the addresses of, andlinks to, ASPs 1040, retrieve documents from the ASPs 10-40, store thedocuments, format the documents, bill the user a unified bill, and/ortransmit the documents to the user to be viewed, printed, or stored. Thedocument manager 60 thus provides the user with access to ASP services,the ability to retrieve from ASPs, a consistent user interface, a singlesign-on service, the ability to request a single search for differentdocuments and different document types, a single billing service, and aflexible storage service. The document manager 60 may also suggest tothe user and provide the user with online print and delivery services,for example by ordering documents from the ASPs and securing theirdelivery to the user via a courier. In this embodiment, the documentmanager 60 can contract with the ASPs and the courier service to ensureproper delivery, to be the user's agent that keeps track of thedelivery, and to inform the user of the status of the delivery. Thedocument manager 60 can also generate a single bill for its services andthose of the ASP and courier used.

The document manager 60 also provide the user 70 with the links to theASP documents so that the user may access the documents via the documentmanager 60 without having to store any document at the computer of theuser, nor at the document manager 60, if desired. In this respect, theuser 70 benefits from the searching, retrieving and storing known-how ofthe ASPs. In this embodiment, the ASP can charge a fee for access totheir documents. In one embodiment, the fee may be incorporated into aunified bill generated by the document manager 60 and provided to theuser 70 for its benefit. The term “unified bill” herein means a billthat includes the charges of at least two bills, or alternativelyincludes the charges from at least two different entities.

Furthermore, the document manager 60 permits the user to retrievedocuments and to store the documents on a local storage device, eitherpermanently or temporarily. Alternatively, the document manager allowsthe user 70 to store a document at the ASP. For example, the documentmanager 60 may be in a partnership with the ASPs to provide storage atthe ASPs for documents of users, i.e. customers, of the document manager60. For instance, a user may decide to store sensitive legal documents;insurance contracts, or digital certificates on a local storage devicefor a predetermined period of time, and have the documents protectedfrom loss, theft, fire, disaster, etc. by storing them at an ASP, whichmay provide better protection for the secured documents. In this case,the user benefits from the ASP's know-how for handling and protectingsecured documents. In this embodiment, the ASP can charge a fee for thestorage. In one embodiment, such a fee would be included in a unifiedbill computed by the document manager for the benefit of the user.

Advantageously, the user does not have to be aware of the different ASPsused by the documents manager 60 to create the collection of documentsretrieved and transmitted to the user, and used to store documents atthe ASPs. Therefore, the user may deal with a single user interface whenreceiving the requested documents and when transmitting the userdocuments to be stored at the ASPs. In addition, the unified billed,generated by the ASPs for either searching, delivering, or storingdocuments, provided by the document manager 60 also alleviates theburden on the user 70 to pay several different bills.

The document manager 60 thus provides a single stop for consulting,billing, formatting, obtaining, reviewing, storing, and managing avariety of types of documents, such as legal, financial, insurance,engineering, accounting, or general office, educational, medical,governmental agencies documents. It is to be understood that theabove-described configuration of the document manager 60 is exemplaryonly, as many variations of the specific hardware and software used toimplement the present invention will be readily apparent to one havingordinary skill in the art. To implement such variations, general purposecomputer such as computer system 1500 of FIG. 15 may be programmed toperform the special purpose functions of any or all of items 62-69 ofthe document manager 60 of FIG. 3. Moreover, principles and advantagesof distributed processing such as redundancy and replication, may beimplemented as desired to increase the robustness and performance of thesystem of FIGS. 2 and 3, for example.

FIG. 4 is a flowchart showing the functionality of the documentmanagement system according to one embodiment of the present invention.As shown in the embodiment of FIG. 4, document manager 60 offers user 70at least two types of services: as illustrated on the left of thediagram, the user 70 can access the document manager 60 for documentconsultation, and as illustrated on the right the user 70 can access thedocument manager 60 for a direct search. For the document consultationservice, the user 70 inputs data related to the type of documentconsultation requested at step 4000, for example, the type, number,format of documents needed, the budget available for the service, thetime constraints for completing the service, the level of securityrequired, etc. At step 4010, the user 70 signs on the document manager60, for example by providing a user-name and password. Once the user issigned on, the document manager 60 performs a document consultation atstep 4020, for example, with the consulting device 67, which cangenerate a strategy for the service requested based on the inputtedinformation from the user 70, or by asking further questions. Based onthe document consultation, the document manager 60 selects the ASPsappropriate for the service requested by the user 70 at step 4030. Thedocument manager 60 sends the user 70 feedback on the selection of theASPs, at step 4040 for example indicating the costs and time of theservice. Upon approval from the user 70 at step 4050, the documentmanager 60 requests the service from the ASPs at step 4060.

For the direct search service, the user 60 can input the searchrequested at step 407G. At step 4080 the user signs on the documentmanager and the user request is inputted at step 4090. The documentmanager 60 then selects the ASPs appropriate for the requested serviceat step 4100 and requests the service from the ASPs at step 4060.

For both services, the document manager signs on to the ASP to requestthe service at step 4110. In other words, if the user signs on thedocument manager 60, the user an access several ASPs without signing oneach ASP. Once the ASPs receive the requested service, the ASPS perform(execute) the service at step 4120, for example, search for a specificdocument, provide the document to the user at step 4130 and bills thedocument manager 60 at step 4140. The document manager 60 then providesthe document(s) to the user 70 at step 4150 and issue a single bill tothe user for all services performed at step 4160. Also, for bothservices, the user 70 has the option of signing-on the document manager60 at step 4010 and 4080 and the ASPs 1040 at step 4110 and placing therequest. This may be beneficial when the user knows which ASP canprovide the desired service. In this case, the document manager 60 canstill perform the services of issuing a single bill, or reformatting thedocuments in accordance to the user's requested format, and/or securingthe proper delivery of the document to the user, etc.

As mentioned above, the document manager 60 may select an appropriateASP for the ASP transaction or service requested by the user. Accordingto one embodiment of the present invention, the document manager 70selects an ASP based on document profile created by the user 70 inprevious interactions with the document manager 60. In this embodiment,the document manager may also select an ASP based on a documentconsultation input and a transaction or service requested by the user70. FIGS. 5A, 5B, and 5C depict data structures for implementing asystem for managing documents and selecting an ASP in accordance withthe embodiment of the present invention. The data structures arepreferably in relational format, using tables, whereby informationstored in one column (i.e., field) of a table is mapped or linked toinformation stored in the same row (i.e., record) across the othercolumn (s) of the table, although any other format or relationship couldbe used. These data structures are used by the document manager 60and/or the user 70 to manage documents in accordance with the presentinvention. According to a preferred embodiment, the data structures 5A,5B, and 5C are stored in storage device 64 of document manager 60.However, any one or all of data structures 5A, 5B, and 5C may be storedin a storage device of the user 70, or any other suitable storage deviceremote to either or both the user 70 and document manager 60.

FIG. 5A is a document profile table 501 that includes a field 503 forstoring a user ID, a field 505 for storing document profile namesassociated with the user ID in field 503, and a field 507 for storingindustrial categories associated with each document profile name storedin field 505. The user ID in field 503 is a unique identifier associatedwith the user 70 and the document profile name in field 505 is a nameassigned by the user 70 to identify a particular type of document forwhich the user 70 commonly requires the services of an ASP. In apreferred embodiment, an operator of user 70 chooses a user ID during aninitial registration process with the document manager 60, and assignsprofile names to common document transactions subsequently performedwith the document manager 60. The industrial category field 507 includesindustrial categories used to identify certain ASP services used for theuser's ASP transaction and to select at least one ASP appropriate forperforming the user's ASP transaction. These services and selected ASPsare stored in a separate data structure which will be described belowwith respect to FIG. 5B.

To illustrate the use of a document profile table 501, FIG. 5A includestwo exemplary entries of different users and the profile names andindustrial categories associated with each user. The first entry of FIG.5A shows that field 503 may contain the number “071870” as a user ID,and in the same record, field 505 may contain the entries “invoices”,“employee benefits”, and “service contracts” as corresponding documentprofile names. In addition, the industrial category field 507 includesthe entries “accounting,” “insurance”, and “legal” as industrialcategories associated with the invoices, employee benefits, and servicecontracts of field 505. Thus, the first entry of table 501 provides anexample of a business entity that uses the document manager 60 as a toolfor managing documents related to the business and its employees. Thesecond entry of document profile name table 501 includes user ID“090269” in field 503, and the corresponding entries “grocery bills”,and “general” in fields 505 and 507 respectively and therefore is likelyto correspond to a home user. Thus, the document profile table 501associates each of a number of user IDs with corresponding documentprofile names and industrial categories associated with each profilename. While it is possible to have only one industrial categoryassociated with each profile name, it is also possible to have two ormore industrial categories associated with a profile name.

FIG. 5B is an industrial category table 510 that includes a field 511for storing industrial categories, fields 513-533 for storing aplurality of service functions associated with each industrial category,and a field 535 for storing a selected ASP. The industrial category infield 511 is a subject matter description by which ASP documents andservices may be categorized. When a document consultation is conductedwith the user to create a document profile as will be discussed below.The service functions in Fields 513-533 are various general servicestypically offered by ASPs as will also be further described below. Asseen in FIG. 5B, certain service functions are flagged as “necessary” intable 510 indicating that the flagged service function is required foran associated industrial category in field 511. Thus, each industrialcategory in field 511 is associated with a number of service functionsused for ASP transactions that fall within the industrial category. Inactual implementation, the fields 513-533 may be implemented using flagsor True/False indicators, as filed in conventional databases. Theselected ASP in field 535 identifies an ASP that provides all of theservice functions required for the industrial category. Thus, as seen inthe first entry of FIG. 5B, an ASP which manages real estate documentsshould have the service functions of Access Level Control, InternetSecurity, Collaboration, and Image Input, and ASP 6 provides thesefunctions. In one embodiment of the present invention, if the user doesnot need specific security functions, the document manager 60 provides a“General” category where the user can select an appropriate ASP fromamong plural ASPs provided as shown by the last entry of table 510 inFIG. 5B.

As indicated above, the service functions of fields 513-535 are servicestypically provided by an ASP. The Encryption service of field 513 allowsdocuments to be stored on a server with encryption using a digitalcertificate from a third party Certificate Authority, for example.Encrypted documents can only be decrypted by applying he designated keypair held by the owner of the documents. The Access level controlservice of field 515 requires the user to have a predetermined accesslevel before retrieving a document. The concept of the access level of adocument is described in detail in U.S. patent application Ser. No.09/684,965, entitled METHOD AND SYSTEM OF DOCUMENT MANAGEMENT BY USINGDOCUMENT AGENT, which is incorporated herein by reference. Briefly, theaccess levels identify the documents which a specific user (or operator)can access at the ASPs via the document manager 60. The user 70 (andsimilarly users 72, 74 and 76) may assign an access level to eachdocument stored at the ASP. During a document retrieval operation, theuser's ID is transmitted to the document manager 60 and the documentmanager 60 retrieves documents that match the user's access level. As aresult, security management can be accomplished and the search time canbe reduced. The access level for each user can be stored in the documentmanager 60 or at the user 70. When documents are stored in the ASPs, theaccess level can be set with each document. Alternatively, the accesslevel for each stored document can also be stored at the ASPs. When thedocument manager 60 executes a document retrieval operation, thedocument manager's search engine and/or the ASPs' search engine executethe retrieval operation only for documents having an access levelmatching the user's access level. Consequently, the retrieval time isshortened and high security documents can be accessed by onlyappropriate users.

As to the remaining service features in the industrial category table510, the Physical Storage feature of field 517 provides a physicalsecurity service which includes establishment of data center in asecured environment. The Security Policy service of field 519 provides awritten security policy which is required in some industries whenstoring documents off-site. The Internet Security service of field 521requires that all users be authenticated to access document withoptional digital certificate capability, and that all data transmissionis done through a Secure Sockets Layer (SSL). The Off-Site Backupservice of field 523 provides backup tapes or other media stored in asafe place remote from the primary data center of the ASP. The Auditservice of field 525 logs user activities. The Collaboration service offield 527 allows users to jointly edit a document and tracks the edithistory. The collaboration service allows users to check in/check out adocument. The Workflow Transmission service of field 529 provides aDocument Delivery feature that gives the user the ability to deliver adocument within a workgroup and to store a workflow profile. TheArchiving service of field 531 stores a document and creates a backup ofthe document. The Inage Input service of field 533 allows users toupload images from digital cameras and other devices to the ASP and/orthe ability to scan documents from a scanning device such as a Ricoh MFPand to store the images directly at the ASP site.

Thus, the industrial category table 510 associates industrial categorieswith a plurality of service functions used with the industrial category,and a selected ASP which provides the required functions. It is to beunderstood that the service functions of fields 513 through 533 areexemplary only and that any desired service functions may be input intable 510 as a condition for identifying selected ASPs. Moreover, the“necessary” conditions or flags shown in FIG. 5B are stored in thestorage device 64 as a default condition. In a preferred embodiment, theuser 70 and or document manager 60 can modify the conditions ifnecessary. In this embodiment, the consulting device 67 of the documentmanager 60 automatically selects an ASP which is appropriate to themodified condition.

In addition to the storage and retrieval transactions typically providedby ASPs, certain ASPs may provide special transactions and/or servicesnot provided by the typical ASP. FIG. 5C is a special service table 550that includes a field 551 for storing special services that may beprovided by an ASP, and a field 553 for storing ASP(s) that provide eachspecial service. As shown in FIG. 5C, field 551 of the special servicestable 550 includes a print and delivery service and a digital signatureservice. Field 553 indicates that ASP 1 and ASP 7 provide the print anddelivery, and digital signature services respectively. As with theservice functions of table 510, the special services in field 551 areexemplary only and may be added to or modified as needed. Moreover,while the special service table 550 of FIG. 5C associates a single ASPto a special service, it is to be understood that multiple ASPs may belisted in field 553 and/or be associated with a special service.

As mentioned above, the document manager 60 may select the appropriateASP(s) for providing the user 70 with the required service functions andselected special services. FIG. 6 is a flowchart showing the process forselecting an ASP according to one embodiment of the present invention.The flowchart of FIG. 6 is in a relational format which shows theprocessing steps performed by the user 70 and the document manager 60.The process steps performed by these devices are separated by a verticaldashed line indicating the network 55. Thus, arrows that cross thedashed line indicate data transfer between the user 70 and documentmanager 60 via network 55.

In step 601, a user ID is input to the user 70 and sent to the documentmanager 60. The user ID may be input as part of a login or registrationprocess as previously described, or in response to a request from thedocument manager 60 after the user has logged on the document manager60. In step 603, the document manager 60 obtains document profilesassociated with the user ID received from the user 70. In this step, thedocument manager 60 accesses the document profile table 501 in storagedevice 64 and searches the user ID field 503 for the user ID received.Once the user ID is located, the document manager 60 reads all documentprofile names associated with the user ID from field 505 of the documentprofile table 501. As seen in decision block 605, if the user IDreceived is not within the document profile table, or there are nodocument profile names associated with the user ID, then the documentmanager 60 proceeds to step 621 to initiate creation of a documentprofile as will be discussed below.

Where document profiles are stored for the user ID received, then instep 607 the document manager 60 creates a document mall screenincluding a document profile menu with the document profile namesobtained in step 603, and a transaction menu retrieved from the storagedevice 64. As an example of how the document manager 60 obtains documentprofiles for the document mall screen, if the user ID received in step603 is “071870” the document manager 60 locates this user ID in thefirst entry of the document profile table 501 and reads the profilenames “Invoices”, “Employee Benefits”, and “Service Contracts” fromfield 505 of the table. These document profile names are then used instep 607 to create the document mall screen that is transmitted to theuser 70. The document mall screen including the document profile menuand ASP transaction menu may be downloaded to the user 70 under thecontrol of the consulting device 67 of the document manager 70, forexample.

In step 609, the user 70 displays the document mall screen received fromthe document manager 70. FIG. 7A shows an example of a document mallscreen displayed on the user 70 in step 609 in accordance with anembodiment of the present invention. The document mall screen 742 isdisplayed on a display of the user 70 and allows an operator of the user70 to interact with the document manager 60. The document mall screen742 has one or a plurality of message areas, such as message area 700which informs the operator of various options or requirements, such asthe requirement to sign up if the operator (or “user”) is new, oroffering the option to start with a free document consultation. Thedocument mall screen 742 has one or a plurality of selection buttons,such as selection button 710, which may be selected to start an onlinedocument consulting session provided by document manager 60. Thedocument mall screen 742 also has one or a plurality of interactiveareas, such as interactive areas 720, 730, 740 and 750. Interactiveareas 720 and 730 allow the operator to enter a user I.D. and a userpassword, respectively. Interactive area 740 includes the transactionmenu delivered from the document manager 60 in step 607, and interactivearea 550 includes the document profile menu delivered from the documentmanager 60 in step 607.

In one embodiment of the present invention, all or a portion of thedocument mall screen 742 may be saved in a memory of user 70. Forexample, user 70 may display the document mall screen 742 includingmessage area 700, selection button 710 and interactive areas 720, 730,740, and 750 so that the user can simultaneously send the documentmanager 70 a user ID as well as the transaction and document profileinformation needed to complete the user's request. Alternatively, in theembodiment of FIG. 6, the user 70 would display only the user ID area 20and password area 30 initially, and subsequently fill in the other areasof the document mall screen after sending the user ID to the documentmanager 70. Moreover, while the screen of FIG. 7A is labeled “TheDocument Mall”, it is to be understood that this is exemplary only andthe aesthetics of the screen may be changed or customized for each user,or in any desired manner.

As seen in FIG. 7A, the document profile menu in area 750 includes thedocument profiles associated with the user 70. Returning to the exampleof user 071870, the document profile menu includes profile names“invoices”, “Employee Benefits”, and “Service Contracts.” The ASPtransaction menu in area 540 includes a list of ASP transactions orservices that the user 70 can select from. The ASP transaction menulists various transaction options typically offered by ASPs such as“Storing” and “Retrieving”, and further lists special services such as“Print and Delivery” and “Digital Signature” offered by special serviceASPs. As seen in interactive area 740 of FIG. 7A, the ASP transactionmenu may include a “continued . . . ” selection to allow the user toselect or engage other ASP transactions on a continuation screen.

Returning to FIG. 6, after displaying the document mall screen 742 ofFIG. 7A, the user 70 determines whether a document consultation isrequired based on the input from the operator of the user 70 as shown bydecision block 611. If a document consultation is requested by theoperator, the user 70 proceeds to step 613 where a document consultationrequest is input and sent to the document manager 60. However, where theoperator does not require a document consultation, the user 70 proceedsto step 615. In step 615, the user 70 inputs a document profile andtransaction based on the items selected by the operator from thedocument profile menu and ASP transaction menu. Selection from thedocument profile menu, the ASP transaction menu, or the documentconsulting selection button 710 may be accomplished, for example, byclicking a button on a mouse or remote control, pressing a key (or keys)on a keyboard or on the control panel, touching the display screen,speaking a command, etc. Where a menu includes a large number ofselections that cannot be listed in a single viewing, the user mayscroll to a second viewing by selecting a “continued . . . ” option asnoted above and shown in the ASP service menu in area 540. Whether ornot a document consultation is requested, the information resulting fromstep 613 or 615 is then transmitted from the user 70 to the documentmanager 60 via network 55.

In step 617, the document manager 60 receives the information deliveredfrom the user 70 and determines whether a document consulting request isincluded in the information received. Where no document consultingrequest was received, the document manager 60 determines that theinformation received includes a document profile and proceeds to step619 where the basic ASP is selected based on the document profilereceived from the user 70. Specifically, as part of step 619, thedocument manager 60 searches field 505 of the document profile table 501shown in FIG. 5A for the document profile name received from user 70,and obtains the industrial category associated with this profile namefrom field 507 of the document profile table 501. With the industrialcategory known, the document manager 70 then searches field 511 of theindustrial category table 510 and selects the basic ASP associated withthe known industrial category from field 535 of the document profiletable 510. Thus, continuing with the example of the user 071870, if theuser 70 inputs “Invoices” as the document profile name in step 615, thedocument manager 70 first identifies the industrial category as“accounting” from table 501, and then selects ASP3 from table 510 as theASP appropriate for accounting documents. Thus, a basic ASP thatprovides typical ASP transactions and services may be selected using thedocument profile table 501 and industrial category table 510. Inaddition, after the basic ASP is selected in step 619, a special ASP isselected in step 631 as will be further described below.

Where the document manager 60 determines, in decision block 617, thatthe user 70 did request a document consultation, the document manager 60proceeds to step 621 where a document mall screen including anindustrial category menu and a transaction menu is created and sent tothe user 70. In step 623, the user displays the document mall screenwith the industrial category and ASP transaction menus. FIG. 7B shows anexample of a document mall screen displayed on the user 70 in step 623in accordance with an embodiment of the present invention. The documentmall screen 742 in FIG. 7B is identical to the document mall screen 742in FIG. 7A with the exception of interactive area 750 and therefore thediscussion of FIG. 7B will be limited to this area. Interactive area 750includes an industrial category menu which lists industrial categoriesfor selection by the user 70. The industrial category menu serves as arequest to the user to select a category that best describes thedocument that the user is obtaining ASP service for. As seen in FIG. 5B,the industrial category menu preferably includes all of the industrialcategories included in the industrial category table 510. As discussedabove with respect to FIG. 5B, the document manager 70 storespredetermined ASP service functions that are used with each industrialcategory and the ASPs that provides these service functions. The user 70that has requested a document consultation in step 611, inputs anindustrial category and ASP transactions selected by the operator of theuser 70 and sends this information to the document manager 60 as shownby step 625.

In step 627, the document manager 60 selects a basic ASP based on theindustrial category received from the user 70. Specifically, thedocument manager 70 searches field 511 of industrial category table 510for the industrial category received from user 70, and selects the ASPassociated with this industrial category from field 535 of table 510. Inone embodiment of the present invention, the document manager 60 mayalso select a secondary basic ASP as a backup for the primary basic ASP.The secondary ASP may be used, for example, where the primary basic ASPis too busy to process the user's request or when the ASP cannot deliveror does not have the item which is desired. While step 627 describesselecting a basic ASP based on the industrial category input by a userthat has requested a document consultation, it is to be understood thatmore information can be requested by the document manager 60 and/orprovided by the user 70 as part of the document consultation processused for determining a basic ASP.

Where the document manager 60 selects a basic ASP based on theindustrial category received from the user 70, the user 70 either doesnot have a document profile as determined in decision block 605 or hasrequested a document consultation in step 615 to create a new documentprofile, for example. In either situation, the document manager 60creates and stores a document profile for the user as indicated by step629. The document profile includes the user ID, profile name, and anindustrial category as shown in the document profile table 501. In apreferred embodiment, the profile name is selected by the user as aconvenient name to identify the document type which ASP services areneeded for. In this embodiment, the user 70 sends the document profilename to the document manager for creating the document profile. Inanother embodiment, the document manager 60 may automatically assign adocument profile name. It is also noted that the document profileincludes the selected ASP related to the document profile name. However,this selected ASP is stored in the industrial category table 510 so thatthe necessary service functions can be conveniently changed by the user70 or document manager 60 as needed.

In addition to selecting a basic ASP in either step 619 or 627, thedocument manager 60 selects a special service ASP based on thetransaction menu selection received from the user 70 as shown in step631. As discussed with respect to FIGS. 7A and 7B above, the documentmall screen 742 includes an ASP transaction menu in interactive area740. As seen in these figures, the ASP transaction menu includes typicalASP transactions such as “storing” and “receiving”, as well as specialservices such as “print and delivery” and “digital signature” which,according to the present invention, may be independently provided byspecial service ASPs. Based on the users input to the ASP transactionmenu, in step 631 the document manager 60 determines whether a specialASP is needed in addition to the basic ASP. While the ASP transactionmenu of FIGS. 7A and 7B lists both general ASP services and special ASPservices, an alternative embodiment of the present invention may provideseparate special services menu delivered to user 70 on demand.

As part of step 631, the document manager 60 first determines whether aspecial service has been selected by user 70 from the ASP transactionmenu. If a special service was selected, the document manager 60accesses the special service table 550 and matches the special servicereceived from the user with a special service listed in field 551 of thespecial service table 550. Once the special service requested by theuser 70 is identified in the special service table 550, the documentmanager 60 obtains the ASP associated with the special service fromfield 553 and selects this ASP as one of the ASPs that will process theusers request. For instance, if the user selects Print and Deliveryservice, the ASP1 is selected as the special ASP based on the control ofthe consulting device 67 of document manager 60. If the user selectsboth of Print and Delivery service and Digital Signature service, theASP1 and ASP7 are selected as the additional ASPs. These special ASPsare selected in addition to basic ASP selected in step 619 or step 627.Where the user 70 did not input a special service in the transactionmenu, the document manager does not select a special ASP in step 631 andproceeds to step 633.

With the basic ASP and the special service ASP selected, in step 631 thedocument manager 60 continues to process the users request with theidentified ASPs. This step may proceed with connecting to the identifiedASPs where the details of the service request are previously provided bythe user 70, or with feedback to the user 70 to obtain further detailssuch as a search query from the user 70, and/or confirmation of the ASPsselected.

As indicated above, the document manager 60 of the present invention mayselect multiple ASPs to process the user's request. According to oneembodiment of the present invention, where multiple ASPs are selected bythe document manager, the document manager 70 can store alliancerelationships among the ASPs in the storage device 64. An alliancerelationship allows the selected ASPs to communicate with each other toprocess the user request. Thus, the user receives the benefit ofperforming one search on multiple ASPs without the need of separatelyregistering with each ASP. In this embodiment, the document manager 60includes a workflow engine 69 as shown in phantom in FIG. 3. Theworkflow engine creates instructions for each ASP based on instructionsstored in the storage device 64 of document manager 60. The workflowengine 69 reads the instructions from the storage device 64 andtransmits the instructions to the selected ASPs via network 55. Forinstance, where the industrial category is Legal, and the user selects aPrint and Delivery service and a Digital Signature service, theconsulting device 67 selects ASP 2 for documents storing and documentretrieving, ASP 1 for Print and Delivery and ASP 7 for DigitalSignature.

FIG. 8 describes the ASP alliance feature of the present invention. Thisfigure shows the exchange of information between the document manager 60and ASPs 2, 1, and 7, as well as the exchange of data among ASPs 2 and1. The dashed box of FIG. 8 represents the network 50 on which the datatravels. In this example, the workflow engine 69 reads instructions fromthe storing device 64 and instructs ASP 1, ASP 2 and ASP 7 as follows:

For ASP 2: “Store a document transmitted from the document manager, thenread out the stored document and transmit the stored document to the ASP2, and report the operation result to the document manager.”

For ASP 1: “Receive the document from the ASP 1, then execute digitalsignature on the received document, and transmit the signed document tothe document manager.”

For ASP 7: “Receive the document from the document manager, print outthe received document, mail the printed document to the user, and reportthe operation result to the document manager.”

Thus, in the example of FIG. 8, ASP2 and ASP1 are in alliance while ASP7has not made an alliance. Therefore the document obtained from ASP2 istransmitted directly from ASP2 to ASP1 while this same document must befirst delivered to the document manager 60 which forwards the documentto ASP7 for print and delivery. The document manager transmits the aboveinstructions to three ASPs simultaneously, and waits for the repliesfrom the ASPS. Regarding the Print and Delivery service, since it maytake at least one day to complete the service in a preferred embodiment,the ASP 7 estimates service completion date and informs the user throughthe user's e-mail of the estimated service completion date, and or thedocument manager 70.

In addition to the ASP alliance feature in one embodiment of the presentinvention, the document manager 60 also provides a unified keywordformat for the user. When processing the user's request as in step 633of FIG. 6, the document manager 60 may receive a database type queryfrom the user 70. However, where multiple ASPs are selected,

it is likely that each ASP has different input format for inputtinginformation such as a date, wild card, keywords and so on. For instance,the date information may have to be inputted in mm-dd-yy format for ASP1, while the same information has to be inputted in yyyymmdd format forASP 2. Also, the wild card information may have to be indicated byusing * for ASP 1, but the same information may be designated by $ forASP 2. Further, a keyword phrase may be inputted as “intellectualproperty” for ASP 1, but the same phrase has to be inputted asintellectual & property for ASP 2. In order to realize a unified userinterface, the document manager 60 provides unified input format for theuser, and translates the unified format to different formats, which areutilized with the selected or desired ASPs. In this embodiment, thestoring device 64 stores input formats of ASPs which can be controlledby the document manager 70. Also, the storing device 64 stores a unifiedinput format, which is displayed on the user 70 display for the documentmall operation. The user interaction device 65 translates the inputteddate information, wild card information and/or keywords that are in asingle or unified format to specific formats which are suitable forselected or desired ASPs and then transmits the translated formats tothe selected ASPs. According to a preferred embodiment of the presentinvention, not only is the screen for inputting service requestsunified, but also the other user interfaces are unified, even if pluralASPs are utilized to accomplish the user's request.

The present invention also provides a timing coordination function forthe user 70 where multiple ASPs are selected. In the case of a retrievaloperation, the documents that have inputted keywords are stored inplural ASPs. Based upon the ASPs' retrieving ability and the volume ofthe retrieved documents, it is likely that the timing of outputting theretrieved documents is different among the ASPs. FIG. 9 illustrates atiming coordination function of the document manager 60 in accordancewith an embodiment of the present invention. In step 901, the documentmanager 60 receives a service result from an ASP. The service result maybe a document to be retrieved by the user 70 or some other informationprovided to the user. In step 903, the document manager 60 stores theservice result in a memory such as the storage device 64. The documentmanager 60 then determines whether it has received all service resultsfrom all ASPs selected for the user's request as seen in decision block905. Where all service results have not been received, the documentmanager 60 returns to step 901 to receive the additional serviceresults. For example, where the document manager 60 selects 3 differentASPs to deliver documents to meet the users request, the documentmanager 60 monitors the documents received and stored for this request,and where only one or two document shave been received, awaits receptionand storage of the remaining documents. When all service results havebeen received, the document manager 60 proceeds to step 907 where itreads out the stored service results from storage device 64, thecomplete results are then transmitted from the document manager 60 tothe user 70 as shown by step 909.

Thus, in order to provide unified operation for the user, the retrieveddocuments from each ASP are once stored in the storing device 64 of thedocument manager 60. Under the control of the format-standardizingdevice 66, the document manager 60 determines whether or not thedocument manager 60 receives operation results from all selected ASPs.If the operation results from all selected ASPs are received, the formatstandardizing device 66 reads out the stored retrieved documents fromthe storing device 64, and transmits the retrieved results to the user.

As discussed in the background section above, one problem withconventional user requests to an ASP is that documents to be storedand/or retrieved from the ASP may be voluminous and therefore maydisable the user's communications line for a long period of time. Thisproblem is particularly significant for home users with low data speednetwork connections, and any other low speed communication system suchas, but not limited to, wireless connections. The document manager 60 ofthe present invention provides a mechanism for allowing the user 70 tostore and retrieve documents to ASPs without disabling thecommunications system of the user 70 at inconvenient times. FIG. 10 is aflowchart showing a process for providing bulk transfer of documentsbetween the user 70 and document manager 60 at a predetermined time inaccordance with an embodiment of the present invention. The “bulktransfer” described herein is similar to or may be considered to be abatch processing which is performed now, after a predetermined delay, orat a predetermined time. Such a transfer may be performed in accordancewith the deferred delivery feature of Request for Comments (RFC) 1068entitled BACKGROUND FILE TRANSFER PROGRAM (“BFTP”) by DeSchon et al.,1988, which is incorporated herein by reference. As with FIG. 6described above, the flowchart of FIG. 10 is in relational format with avertical dashed line representing network 55 separating the steps of theuser 70, from the steps of the document manager 60.

As seen in FIG. 10, the process of providing a bulk transfer functionfor the user 70 begins with the document manager 60 determining whethera document storage or retrieval request has been made by the user asshown by decision block 1001. This allows the document manager 60 toavoid creating and sending a bulk transfer option to the user where theuser is requesting a real time service such as access to a softwareapplication located at the ASP. Decision block 1001 may be performed bydocument manager 60 as part of the “process user request” step 633 inthe embodiment of FIG. 6, or as part of the “feedback to user withservice” step 4040 shown in FIG. 4.

In the typical situation where the user 70 has requested a storage orretrieval transaction, the document manager 60 creates a bulk transferoption request as shown in step 1003. The bulk transfer option requestallows the user 70 to select a bulk transfer option for the transactionrequested. After creating the bulk transfer option menu in step 1003,the document manager 60 proceeds to step 1005 where a service detailrequest is created and sent to the user 70 along with the bulk transferoption request. The service detail request is a request from thedocument manager 60 to the user 70 to provide more details about theservice or transaction needed from the document manager and ASPs. Forexample, where the user 70 has requested a document search andretrieval, the service detail request may ask the user for a booleansearch query. As another example, where the user 70 has requested accessto a spreadsheet application located on the ASP, the service detailrequest may ask the user to input a spreadsheet application and theversion of the application needed. If the document manager 60 determinesin step 1001 that the user has not requested a storage or retrievalservice, the document manager proceeds directly to step 1005 and createsand sends the service detail request to the user 70.

In step 1007, the user 70 displays the bulk transfer option requestand/or service detail request to the operator of the user 70. The bulktransfer option request is preferably a selection area similar to thearea 710, 740, and/or 750 of the document mall screen 742 illustrated inFIGS. 7A and 7B, and the service detail request is preferably displayedas an interactive area for the user to input information such as areas720 and 730, or areas 740 and 750 of the display screen 742. Selectionof the bulk transfer option and entry of detailed information may beaccomplished, for example, by clicking a button on a mouse or remotecontrol, pressing a key (or keys) on a keyboard or control panel,touching a display screen, or a speaking command, etc.

In decision block 1009 of FIG. 10, the user 70 determines whether thebulk transfer option has been selected by the operator based on inputsfrom the operator. Where a bulk transfer has not been selected, the user70 inputs and sends the operator's service details in step 1011 to thedocument manager 60 which processes the user's request with the selectedASPs based on these details entered by the user in step 1013. Where theuser 70 determines that a bulk transfer request has been made, flowproceeds to step 1015 where it determines whether the user's transactionis a storage transaction requesting to send documents to an ASP forstorage, or a retrieval transaction requesting to receive documentsdelivered from the ASP. The storage/retrieval determination of step 1015is made based on previous entries of the user.

Where the user's transaction is determined to be a storage transactionin step 1015, the user inputs the storage documents and sends thestorage documents (documents to be stored at one or more of the ASPs) tothe document manager 60 in step 1017 at a predetermined time (orimmediately) which will be further described with respect to FIG. 12below. In step 1019, the document manager 60 receives the storagedocuments and performs the storage service with the selected ASP(s).According to a preferred embodiment of the present invention, thedocument manager 60 generates a storage operation report in step 1021based on feedback from the storage ASP(s). How the document manager 60performs the storage service and generates a storage operation reportwill be further described below with respect to FIGS. 13 and 14.

Where the user 70 determines in step 1015 that the required transactionis a retrieval transaction, flow proceeds to step 1023 which inputs andsends the retrieval request to the document manager 60. The retrievalrequest may be a boolean search query or any other information foridentifying the document to be retrieved from the ASP(s). In a preferredembodiment, the user may also input a predetermined time for thedocument manager 60 to return the retrieved document. Alternatively, thedocument manager 60 may select an appropriate time for delivering thedocument such as midnight when the communications line of the user 70can be busy for a long period of time without inconvenience. Thus, instep 1025 the document manager 60 processes the document retrievalrequest with selected ASPS, and transfers the retrieval document at apredetermined time in step 1027. Alternatively, the transfer of thedocument or information may be immediately. In step 1029, the user 70receives the retrieval document or storage report resulting from step1021 or step 1027 respectively. Thus, as shown by the process in FIG.10, the document manager 60 provides a bulk transfer of documents at apredetermined time between the user 70 and document manager 60. In apreferred embodiment, this feature is provided with a user deviceimplemented as a multipurpose or multifunction machine, although anydesired device such as any of the devices disclosed herein may beutilized.

FIGS. 11A, 11B, 11C, and 11D show a multifunction machine or documentprocessing center that may serve as the user in accordance with anembodiment of the present invention. The multifunction documentprocessing center in FIGS. 11A and 11B includes a central processingunit (CPU) 1131, and various elements connected to the CPU 1131 by aninternal bus 1132. The CPU 1131 services multiple tasks while monitoringthe state of the multifunction document processing center 1100. Theelements connected to the CPU 1131 include a read only memory (ROM)1133, a random access memory (RAM) 1134, a hard disk drive (HDD) 1135, afloppy disk drive (FDD). 1136 capable of receiving a floppy disk 1107, acommunication interface (I/F) 1138, and a modem unit 1139. In addition,a control panel 1137, a scanner unit 1140, a printer unit 1141, and animage processing device 1142 can be connected to the CPU 1131 by the bus1132. The I/F 1138 is connected to a network 1129 such as a local areanetwork which is preferably connected to a wide area network such as theInternet, although any network or connection of networks may beutilized. The modem unit 1139 is connected to a communication network1120, which is further connected to a network connection such as apublic telephone line (not shown), or alternatively the modem unit 1139is directly connected to a public telephone line. According to oneembodiment of the present invention, the multifunction documentprocessing center 1100 may be implemented as the server shown in U.S.Pat. No. 5,928,335, the entire content of which is hereby incorporatedby reference.

In one embodiment where the multifunction document processing center1100 includes a digital copier, the modem unit 139, the scanner unit1140, the printer unit 1141, and the image processing device 1142 arecollectively called the image processing units of the multifunctiondocument processing center 1100. These elements correspond to thehardware of the multifunction document processing center 1100 whichcarry out the image processing functions of the digital copier.

In a preferred embodiment, the program code instructions for themultifunction document processing center 1100 may be stored on thefloppy disk 1107 so that the program code instructions can be read bythe FDD 1136, transferred to the RAM 1134 and executed by the CPU 1131to carry out the instructions. These instructions may be menu managementinstructions, such as instructions to create, select, retrieve,transmit, display, and store menus and are directed to implementing themethod steps described in previously described in FIGS. 4, 6, and 10, oras described in FIGS. 12-14 below. These instructions permit themultifunction document processing center 1100 to interact as a user withthe document manager 60 and to control the control panel 1137 and theimage processing units of the multifunction document processing center1100. Moreover, the instructions may also include any instructionsnecessary for the operation of the multifunction document processingcenter 1100.

Alternatively, the program code instructions maybe read from the floppydisk 1107 to the HDD 1135. During a start-up of the multifunctiondocument processing center 1100, the program code instructions may beread by the CPU 1131, transferred to the RAM and executed by the CPU1131. Alternatively, the program code instructions may be loaded to theROM 1133. It is therefore understood that in the present invention, anyof the floppy disk 1107, the HHD 1135, the RAM 1134, and the ROM 1133correspond to a computer readable storage medium capable of storingprogram code instructions or data structures utilized by the invention.Other devices and medium that can store the instructions and/or datastructures according to the present invention include for examplemagnetic disks, optical disks including DVDs, magneto-optical disks suchas MOs, and semiconductor memory cards such as PC cards, as well as anyof the storage mediums discussed with respect to FIG. 15 below.

FIG. 11B illustrates the internal mechanical and electrical-mechanicalcomponents of the document processing center 1100. In this Figure, thescanner unit 1140 is mounted on top of the printer unit 1141, althoughany desired configuration or arrangements of the elements of the printerunit 1141 and the scanner unit 1140 may be utilized. For example, theprinter unit 1141 and the scanner unit 1140 may be physically separatefrom each other.

FIG. 11C shows the configuration of the control panel 1137 in accordancewith one embodiment of the present invention. As seen in this figure,the control panel 1137 includes a display 1142 that displays menus andmessages allowing the operator of the multifunction document processingcenter 1100 to interact with the document manager 60. In a preferredembodiment, the display 1142 displays the document mall screens of FIGS.7A and 7B. The display screen 1142 may be a liquid crystal display(LCD), a plasma display device, a cathode ray tube (CRT) display or anyother suitable display suitable for providing an image to the operatorof the multifunction document processing center 1100. While the display1142 is shown as being integral with the control panel 1137 in FIG. 11C,the display does not have to be integral with, or embedded in, thecontrol panel 1137, but may simply be coupled to the control panel 1137by either a wire or a wireless connection. The control panel 1137 mayalso include keys for inputting information or requesting variousoperations. Alternatively, the control panel 1137 and the display screen1142 may be operated by a keyboard, a mouse, a remote control, touchingthe display screen 1142, voice recognition, or eye-movement tracking, ora combination thereof.

As also seen in FIG. 11C, the control panel 1137 can include a contrastamount key 1143 for changing a contrast of the display 1142 and adisplay mode switch 1155 for switching a display from a first mode to asecond mode when depressed, located adjacent to the display screen 1142.For example, by depressing the display mode switch 1155, an operator canswitch from a digital copying mode display to an ASP document requestmode display such as those displayed in FIGS. 7A and 7B. The controlpanel 1137 can also include a mode reviewing key 1144 for displaying theselected modes already set, and a menu or message changing key 1145 forchanging the menu or messages to be displayed on the display screen1142. For example, the operator can depress the message changing key1145 to change from a document profile menu as shown in FIG. 7A to anindustrial category menu shown in FIG. 7B. The control panel 1137 canalso include a program calling key 1146 for calling or executing a userprogram when depressed, a user program register key 1147 for registeringa user program when depressed, and a guidance key 1148 for displaying aguidance or help menu in the display 1142. The control panel 1137 canalso include a print switch 1149 for starting a copying operation or ASPdocument operation when depressed, a ten key keypad 1150 for inputtingdata, or an alphanumeric keypad (not shown). These keypads can be usedfor example to enter the operator's user I.D., password, document nameand type of document to store or retrieve, location to store thedocument, keywords, dates, access level and other information forinteracting with the document manager 60. Of course, the key pad 1150can also be used to enter copy mode information, such as the number ofcopies, or the percentage magnification/reduction desired.

The control panel 1337 may also include a set number clear and copy stopkey 1151 for either clearing set numbers or parameters, or stopping acopying operation when depressed, and a confirming or enter key 1152 forconfirming information entered by the operator in order to use thedocument manager 60, such as a user I.D., password, document type,document name, keywords, dates, access levels, and type of requests forthe document manager 60. The confirming or enter key 1152 may also beused to confirm information to use the multifunction document processingcenter 1100 as a copy machine, such as the number of copies,magnification/reduction and/or a margin of a copy sheet. The controlpanel 1137 may also include an interruption copy key 1153 forinterrupting a document storing operation, a document retrievingoperation, or a copying operation when depressed. A preheat key 1154 forpreheating a fixing roller, and/or a mode-clear key 1154 clearing apreset mode can also be included to the control panel 1137. According toone embodiment of the present invention, the control panel 1137 can beimplemented using the control panel shown in U.S. Pat. No. 6,023,593,which is incorporated herein by reference.

As indicated above, the display screen 1142 displays the document mallscreens shown in FIGS. 7A and 7B. The display 1142 can be made of a dotor pixel displaying device, utilizing for example, a liquid crystal or afluorescent material, and can include a matrix touch panel overlaid onthe dot displaying device, thereby allowing the operator to inputcommands to the multifunction document processing center 1100 bydepressing the display screen 1142 itself. An example of such a displayscreen 1142 is shown in FIG. 11D. The display screen 1142 can be used todisplay one or a plurality of copy options and messages, for example toselect a paper tray, to request stapling of the copies, to reduce ormagnify, to set margins, etc. In addition to these copy mode settingsand messages, the display screen 1142 of the present invention candisplay ASP document mode features to permit an operator of themultifunction document processing center 1100 to interact with thedocument manager 60. In the embodiment shown in FIG. 11D, the displayscreen 1142 displays a “Document Mall” selection button 1162 whichallows the operator to select (e.g. by touching the “Document Mall”selection button 1162) the ASP document mode and to have an ASP documentmode menu displayed. In this example, the “Document Mall” selectionbutton is positioned next to a message display area 1161, which maydisplay copy mode messages and/or ASP document mode messages. In apreferred embodiment, the display screen 1142 shown in FIG. 11D is abasic menu (or “basic screen”), which is read from the RAM 1134 anddisplayed when the multifunction document processing center 1100 isturned on.

Advantageously, once the “Document Mall” button 1162 is selected ondisplay screen 1142 (or the ASP document mode is otherwise requested)the display screen 1142 can display a menu for document ASP modes thatis customized to the operator of the multifunction document processingcenter 1100. For example, upon entering a user I.D. and a password, themultifunction document processing center 1100 selects a customized menuto permit the operator to interact with the document manager 60. Thecustomized menus may be stored at the multifunction document processingcenter 1100 (for example in the floppy disk 1107, the HHD 1135, the RAM1134, and/or the ROM 1133), received from the document manager 60, or atanother location, such as a general purpose computer (like the computersystem shown in FIG. 15) which may be connected to the document managervia a network, such as a LAN.

In one embodiment, the operator of the multifunction document processingcenter 1100 enters a user I.D. and the password using a default ASPdocument menu displayed after the ASP document mode is selected. Themultifunction document processing center 1100 then requests the desiredcustomized menu using a look-up table stored for example in one of theserver's storage devices, such as the floppy disk 1107, the HHD 1135,the RAM 1134, and/or the ROM 1133 or any other suitable storage device.For example, an operator “A” may enter her user I.D. which prompts themultifunction document processing center 1100 to select an ASP documentmode menu customized for the ABC company for which operator “A” works.The multifunction document processing center 1100 thus can provide theoperator “A” with a company level customization. Alternatively, or inaddition, an operator “B” may enter her user I.D. which prompts themultifunction document processing center 1100 to select a menucustomized for the legal department of the DEF company for whichoperator “B” works. The multifunction document processing center 1100thus can provide the operator “B” with a group (or department) levelcustomization. Alternatively, or in addition, an operator “C” may enterher user I.D. which prompts the multifunction document processing center1100 to select a menu customized for the operator “C”. The multifunctiondocument processing center 1100 thus can provide the operator “C” withan individual level customization. If the multifunction documentprocessing center 1100 is part of a system that utilizes groupware suchas Lotus Notes, the company name, the group or department name, and/orthe individual name can be read out and from the groupware database.

Thus, the multifunction document processing center 1100 provides generaldocument processing functions such as copying and printing, as well as auser interface to the document manager 60. The multifunction documentprocessing center 1100 would generally provide a central unit to beshared by several office workers in a business entity, for example.Thus, in providing a user interface with the document manager 60,according to one embodiment, large documents stored to or retrieved fromASPs via the document manager 60 do not the up the communications line1120 for long periods of time during business hours. Thus, themultifunction document processing center 1100 is an ideal user foroffering the bulk transfer feature generally discussed with regard toFIG. 10 above. However, if the multifunction document processing center1100 has a fast communication connection and/or the size of thedocuments being retrieved is not too large, the bulk transfer featuremay not be utilized. FIGS. 12, 13, and 14 show flowcharts that show thebulk transfer process for the multifunction document processing center1100, document manager 600, and ASP respectively.

FIG. 12 is a flowchart showing the process for implementing a bulktransfer in the multifunction document processing center 1100 inaccordance with an embodiment of the present invention. After starting,in step 1201, the operator of the multifunction document processingcenter 1100 logs on to the document mall and inputs information used bythe document manager 60 to determine an ASP. In this regard, theoperator of the multifunction document processing center 1100 interactswith the document manager 60 as described in FIG. 6 above by way of thedisplay 1142. In step 1203, the multifunction document processing center1100 inputs a bulk transfer command in response to the operatordepressing the control panel or otherwise indicating the bulk transferoption for a storage or retrieval operation as also described above. Asthe multifunction document processing center 1100 processes storage bulktransfers in a different manner than retrieval services, in decisionblock 1205, the multifunction document processing center 1100 determineswhether the operator has requested a storage or retrieval transactionwith an ASP. This determination is made based on information obtained aspart of the log on and ASP determination process of step 1201.

Where the ASP transaction is a document retrieval transaction, themultifunction document processing center 1100 proceeds to step 1207 andtransmits a document retrieval request to the document manager 60 viacommunications line 1120. The document retrieval request is entered intothe multifunction document processing center 1100 by way of the controlpanel 1137 and display 1142. As indicated in FIG. 10 above, the documentretrieval request may be a boolean search query and may include apredetermined time at which the operator of the document processingcenter 1100 wishes the document to be received by the multifunctiondocument processing center 1100 in step 1209. In a preferred embodiment,the multifunction document processing center 1100 generates and sends aretrieval result report via communications line 1120 as shown in step1211. The retrieval result report informs the document manager 60 thatthe retrieval documents have been received as will be further describedin FIG. 13 below. In a preferred embodiment, the multifunction documentprocessing center 1100 generates and sends the retrieval result reportonly after the operator confirms that the requested documents have beenreceived without problems.

If the decision block 1205 results in the multifunction documentprocessing center 1100 determining that the operator wishes to perform astorage transaction, the multifunction document processing center 1100inputs the documents to be stored at the ASP by scanning the documentsin step 1213 using the scanner unit 1140. The scanning of step 1213 ispreferably performed by an optical scanning device but may be performedby any scanning or character recognition technology such as magnetic inkcharacter recognition, for example. As an alternative to scanning, step1213 may be performed by generating a document in an electronicrepresentation in any desired manner, such as by saving or writing thedocument in a desired format such as but not limited to Microsoft Wordformat, “PDF” format using Adobe Acrobat, or using any desired softwareprogram. Moreover, the electronic representation which is utilized maybe in existence at the time step 1205 is performed, if the document isnot scanned in step 1213. In one embodiment, the scanning step 1213 isperformed when the operator of the multifunction document processingcenter 1100 places the documents into a feeder of the scanner unit 1140in response to a message displayed on the display 1142. Themultifunction document processing center 1100 then writes the scanneddocument to the HDD 1135 where it remains until the multifunctiondocument processing center 1100 transmits the storage document(s) to thedocument manager 60 at a preselected time by way of the communicationlines 1120 as shown in step 1217.

According to a preferred embodiment, the HDD 1135 has a specific folderor directory which is made by the operator wherein the images which arestored in the specific folder are transmitted to the selected ASP at apredetermined time. For instance, the multifunction document processingcenter has a timer to set a time when the stored documents in the HDD1135 are transmitted to the selected ASP automatically. The scanneddocuments under the bulk transfer mode are stored in the specific folderin the HDD 1135 until the pre-set time. The pre-set time is preferably aconvenient time when operators of the multifunction document processingcenter 1100 will not be inconvenienced by a long busy period of thecommunications line 1120. The CPU 1131 checks whether an actual timereaches the preselected time, and if the actual time reaches thepre-selected time, the CPU controls or commands a read out of the storeddocuments from the specific folder in the HDD 1135, and transmits theread documents either to the selected ASP or the document manager 60. Inone embodiment of the present invention, during the 24 hours, documentswhich have different document profiles can be stored in the hard disk,and subsequently transmitted to different ASPs based on thecorresponding document profile.

In step 1219, the multifunction document processing center 1100 receivesa storage operation result that is generated and sent from the documentmanager as will be further described with respect to FIG. 13 below. In apreferred embodiment, once the multifunction document processing center1100 has received the storage operation result from the document manager60, the multifunction document processing center 1100 automaticallyclears the stored or scanned storage documents from the HDD 1135.According to the present embodiment, the batch transmission mode is setby manually inputting or selecting the mode. However, it is alsopossible to have such a batch transmission mode be the default modewhich is automatically used, unless deselected by the user. Moreover, itis also possible to set the batch transmission mode if the controller ofthe copier detects an image tag such as bar code that is on thedocument. The bar code includes information to instruct the batchtransmission mode and document profile such as user ID, selected ASP ande-mail address. The use of bar codes to encode information, and thereading and decoding of bar codes is generally known and is describedfor example, in U.S. Pat. Nos. 5,677,770, and 5,671,282 which areincorporated herein by reference. The Asp(s) selection and/or Documentmenu downloading may be performed based on the information of a bar codein the same manner as described above.

FIG. 13 is a flowchart showing the process for implementing a bulktransfer in the document manager 60 in accordance with an embodiment ofthe present invention. In step 1301, the document manger 60 logs theuser onto the document mall and receives information used fordetermining and selecting an ASP. As discussed above, the operator ofthe multifunction document processing center 1100 interacts with thedocument manager 60 to log on to the document manager 60, and transmitASP determining information and a bulk transfer option to the documentmanager 60. In step 1303, the document manager 60 receives the bulktransfer request from the multifunction document processing center 1100.As the document manager 60 processes storage bulk transfers in adifferent manner than retrieval transfers, in decision block 1305, thedocument manager 60 determines whether the user has requested a storageor a retrieval transaction. This determination is made based oninformation obtained as part of step 1301 and/or 1303.

Where the ASP transaction is a document storage transaction, flowproceeds from step 1305 to step 1307 in which the document manager 60receives the storage document sent from the multifunction documentprocessing center 1100 as described in step 1217 of FIG. 12 at thepredetermined time. In step 1309, the document manager 60 transmits thestorage document to the selected storage ASP. According to a preferredembodiment, the document manager 60 sends a storage result report instep 1311 to the multifunction document processing center 1100 viacommunications line 1120 to report that the user storage request hasbeen completed by the document manager 60.

If the decision block 1305 results in the document manager 60determining that the user wishes to perform a retrieval transaction, thedocument manager 60 receives the document retrieval request from theuser and retrieves the requested document from the selected retrievalASP as shown in step 1313. Once the document manager 60 has obtained theretrieval document from the selected ASP in step 1313, the documentmanager 60 writes the retrieved document to a memory such as the storagedevice 64 of the document manager 60, as shown in step 1315.

In step 1317, the document manager 60 transmits the retrieved documentsto the user at a predetermined time. As with the multifunction documentprocessing center 1100 described in step 1217 of FIG. 12, the documentmanager 60 preferably includes a timer or clock which sets a time whenthe stored documents in the storage device 64 are to be transmitted tothe user automatically. Moreover, as also discussed, the pre-set timemay be a time requested by the user in step 1301 and 1303 above, or maybe a time selected by the document manager 60. As discussed with respectto step 1211 in FIG. 12, the multifunction document processing center1100 generates a retrieval result report and sends this report to thedocument manager 60. In step 1319, the document manager 60 receives theretrieval result report from the user. In step 1321, the documentmanager 60 then clears the stored retrieval document from the storagedevice 64 of the document manager 60.

FIG. 14 is a flowchart showing the process for implementing a bulktransfer in the selected ASP in accordance with an embodiment of thepresent invention. In step 1401, the selected ASP receives the servicerequest from the document manager 60. The service request received bythe selected ASP may be accompanied by a user ID and/or otherinformation that will allow the selected ASP to send a document directlyto the multifunction document processing center 1100 if necessary.Moreover, the service request in step 1401 may be accompanied by accesslevel information used to implement access level control as describedabove with respect to FIG. 5B. As the selected ASP must process a bulkstorage transfer in a different manner than a retrieval transfers, indecision block 1403, the selected ASP determines whether the operatorand/or document manager 60 has requested a storage or retrievaltransaction with the ASP.

When the requested service is a document retrieval transaction, the ASPreceives the document retrieval request instruction from the documentmanager 60 in step 1405. The ASP then retrieves the requested retrievaldocument from a storage space from which the selected ASP operates asshown in step 1407. Once the retrieved document is obtained, theselected ASP then sends the retrieved document to the document manager60. In one embodiment of the present invention, the selected ASP mayalso send or transmit the retrieved document to the user where the ASPhas obtained a user ID and/or other user information in step 1401 asdescribed above. Such a transmission to the user or multifunctiondocument processing center 1100 occurs at a predetermined or presenttime, after a predetermined delay, as soon as possible, or immediately.In this embodiment, the document manager 60 serves primarily to log theretrieval transaction and/or provide a unified bill to the user.

Where the selected ASP determines in step 1403 that the requested ASPservice is a storage transaction, the selected ASP receives the storeddocument from the document manager 60 or the user 70 as shown in step1411. In one embodiment of the present invention, the storage documentreceived in step 1411 is accompanied by access level information for theselected ASP to implement access level control as previously discussed.Moreover, the storage document received from the document manager 60and/or user, may include user e-mail address information. In step 1413,the selected ASP stores or writes the storage document to storage spaceused in the operation of the ASP. Once the user's storage document isstored in the ASP storage space, the selected ASP transmits an operationresult to the document manager 60 so that the document manager 60 maycreate a storage result report and transmit this report to the user 70as described above. In one embodiment, where the storage documentreceived in step 1411 is accompanied by user e-mail address information,the selected ASP also transmits an operation result to the user. FIG. 14shows an operation of the selected ASP. If the ASP receives documentswith user ID and access level information, the ASP engine checks whetheror not a folder corresponding the user ID exists. If a folder exists,the ASP engine controls the storage of such documents to the foldercorresponding to the user ID. When the storage operation of step 1413 iscompleted, the ASP engine commands a transmission of the operationresult to the document manager in step 1415. The process of FIG. 14 thenends.

FIG. 15 illustrates a computer system 1501 upon which an embodimentaccording to the present invention may be implemented. The illustratedcomputer and/or computer system may be utilized with or as any ofprocessing or computing devices utilized with or by the invention.Computer system 1501 includes a bus 1503 or other communicationmechanism for communicating information, and a processor 1505 coupledwith bus 1503 for processing the information. Computer system 1501 alsoincludes a main memory 1507, such as a random access memory (RAM) orother dynamic storage device (e.g., dynamic RAM (DRAM), static RAM(SRAM), synchronous DRAM (SDRAM), flash RAM), coupled to bus 1503 forstoring information and instructions to be executed by processor 1505.In addition, main memory 1507 may be used for storing temporaryvariables or other intermediate information during execution ofinstructions to be executed by processor 1505. Computer system 1501further includes a read only memory (ROM) 1509 or other static storagedevice (e.g., programmable ROM (PROM), erasable PROM EPROM), andelectrically erasable PROM (EEPROM)) coupled to bus 1503 for storingstatic information and instructions for processor 1505. A storage device1511, such as a magnetic disk or optical disc, is provided and coupledto bus 1503 for storing information and instructions.

The computer system 1501 may also include special purpose logic devices(e.g., application specific integrated circuits (ASICs)) or configurablelogic devices (e.g., generic array of logic (GAL) or reprogrammablefield programmable gate arrays (FPGAs)). Other removable media devices(e.g., a compact disc, a tape, and a removable magneto-optical media) orfixed, high density media drives, may be added to the computer system1501 using an appropriate device bus (e.g., a small computer systeminterface (SCSI) bus, an enhanced integrated device electronics (IDE)bus, or an ultra-direct memory access (DMA) bus). The computer system1501 may additionally include a compact disc reader, a compact discreader-writer unit, or a compact disc juke box, each of which may beconnected to the same device bus or another device bus.

Computer system 1501 may be coupled via bus 1503 to a display 1513, suchas a cathode ray tube (CRT), for displaying information to a computeruser. The display 1513 may be controlled by a display or graphics card.The computer system includes input devices, such as a keyboard 1515 anda cursor control 1517, for communicating information and commandselections to processor 1505. The cursor control 1517, for example, is amouse, a trackball, or cursor direction keys for communicating directioninformation and command selections to processor 1505 and for controllingcursor movement on the display 1513. In addition, a printer may provideprinted listings of the data structures shown in FIGS. 5A, 5B, and 5C,or any other data stored and/or generated by the computer system 1501.

The computer system 1501 performs a portion or all of the processingsteps of the invention in response to processor 1505 executing one ormore sequences of one or more instructions contained in a memory, suchas the main memory 1507. Such instructions may be read into the mainmemory 1507 from another computer-readable medium, such as storagedevice 1511. One or more processors in a multi-processing arrangementmay also be employed to execute the sequences of instructions containedin main memory 1507. In alternative embodiments, hard-wired circuitrymay be used in place of or in combination with software instructions.Thus, embodiments are not limited to any specific combination ofhardware circuitry and software.

As stated above, the system 1501 includes at least one computer readablemedium or memory including instructions used to carry out processingaccording to the teachings of the invention and for containing datastructures, tables, records, or other data described herein. Stored onany one or on a combination of computer readable media, the presentinvention includes software for controlling the computer system 1501,for driving a device or devices for implementing the invention, and forenabling the computer system 1501 to interact with a human user, e.g., acustomer. Such software may include, but is not limited to, devicedrivers, operating systems, development tools, and applicationssoftware. Such computer readable media further includes the computerprogram product of the present invention for performing all or a portion(if processing is distributed) of the processing performed inimplementing the invention.

The computer code devices of the present invention may be anyinterpreted or executable code mechanism, including but not limited toscripts, interpreters, dynamic link libraries, Java classes, andcomplete executable programs. Moreover, parts of the processing of thepresent invention may be distributed for better performance,reliability, and/or cost.

The term “computer readable medium” as used herein refers to any mediumthat participates in providing instructions or data to processor 1505for execution. A computer readable medium may take many forms, includingbut not limited to, non-volatile media, volatile media, and transmissionmedia. Non-volatile media includes, for example, optical, magneticdisks, and magneto-optical disks, such as storage device 1511. Volatilemedia includes dynamic memory, such as main memory 1507. Transmissionmedia includes coaxial cables, copper wire and fiber optics, includingthe wires that comprise bus 1503. Transmission media also may also takethe form of acoustic or light waves, such as those generated duringradio wave and infrared data communications.

Common forms of computer readable media include, for example, harddisks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM,Flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compactdisks (e.g., CD-ROM), or any other optical medium, punch cards, papertape, or other physical medium with patterns of holes, a carrier wave(described below), or any other medium from which a computer can read.

Various forms of computer readable media may be involved in carrying outone or more sequences of one or more instructions to processor 1505 forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions for implementing all or a portion of the present inventionremotely into a dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 1501 mayreceive the data on the telephone line and use an infrared transmitterto convert the data to an infrared signal. An infrared detector coupledto bus 1503 can receive the data carried in the infrared signal andplace the data on bus 1503. Bus 1503 carries the data to main memory1507, from which processor 1505 retrieves and executes the instructions.The instructions received by main memory 1507 may optionally be storedon storage device 1511 either before or after execution by processor1505.

Computer system 1501 also includes a communication interface 1519coupled to bus 1503. Communication interface 1519 provides a two-waydata communication coupling to a network link 1521 that is connected toa local network (e.g., LAN 1523). For example, communication interface1519 may be a network interface card to attach to any packet switchedlocal area network (LAN). As another example, communication interface1519 may be an asymmetrical digital subscriber line (ADSL) card, anintegrated services digital network (ISDN) card or a modem to provide adata communication connection to a corresponding type of telephone line.Wireless links may also be implemented. In any such implementation,communication interface 1519 sends and receives electrical,electromagnetic or optical signals that carry digital data streamsrepresenting various types of information.

Network link 1521 typically provides data communication through one ormore networks to other data devices. For example, network link 1521 mayprovide a connection through LAN 1523 to a host computer 1525 or to dataequipment operated by a service provider, which provides datacommunication services through an IP (Internet Protocol) network 1527(e.g., the Internet). LAN 1523 and IP network 1527 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link1521 and through communication interface 1519, which carry the digitaldata to and from computer system 1501, are exemplary forms of carrierwaves transporting the information. Computer system 1501 can transmitnotifications and receive data, including program code, through thenetwork(s), network link 1521 and communication interface 1519.

Obviously, numerous additional modifications and variations of thepresent invention are possible in light of the above teachings. It istherefore to be understood that within the scope of the appended claimsthe present invention may be practiced otherwise than as specificallydescribed herein.

1. A method for managing applications service provider (ASP) documents, comprising: requesting a transfer of an ASP document at an ASP user device connected to a remote document manager and a remote ASP via a network; establishing a predetermined time for effecting a transfer of said ASP document; and transferring said ASP document at a predetermined time via said network. 